<?php

include('simple_html_dom.php');
include('conexion.php');
db_connect();
set_time_limit(0);

function registro_anuncios($query) {
    mysql_close();
    db_connect2();
    $resultado = mysql_query($query);
    if (!$resultado) {
        throw new Exception($query);
        return false;
    }
    else
        return 'registrado<br/>';
    mysql_close();
}

function actualizar_preview($query) {
    db_connect();
    $resultado = mysql_query($query);
    if (!$resultado) {
        throw new Exception($query);
        return false;
    }
    else
        return 'actualizado';
}

function obtener_areas() {
    $query = "SELECT a.area_idarea, s.nombre FROM BumeranArea a, BumeranSubArea s WHERE a.idBumeranArea = s.idBumeranArea";
    $resultado = mysql_query($query);
    if (!$resultado)
        throw new Exception('error al consultar');
    else {
        $arr = array();
        $num = mysql_numrows($resultado);
        $i = 0;
        while ($i < $num) {
            $arr[$i][0] = utf8_encode(mysql_result($resultado, $i, "a.area_idarea"));
            $arr[$i][1] = mysql_result($resultado, $i, "s.nombre");
            $i++;
        }
        return $arr;
    }
}

function obtener_areas_aptitus() {
    $query = "SELECT area_idarea, nombre FROM aptitusarea";
    $resultado = mysql_query($query);
    if (!$resultado)
        throw new Exception('error al consultar');
    else {
        $arr = array();
        $num = mysql_numrows($resultado);
        $i = 0;
        while ($i < $num) {
            $arr[$i][0] = utf8_encode(mysql_result($resultado, $i, "area_idarea"));
            $arr[$i][1] = mysql_result($resultado, $i, "nombre");
            $i++;
        }
        return $arr;
    }
}


function reemplaza($nombre) {
    $find = array('á', 'é', 'í', 'ó', 'ú', 'ñ');
    $repl = array('a', 'e', 'i', 'o', 'u', 'n');
    $var = str_replace($find, $repl, utf8_encode($nombre));
    return $var;
}

function get_localidad($nombre) {
    global $lista_localidades;

    if ($lista_localidades != null) {
        $num = mysql_numrows($lista_localidades);
        $i = 0;
        while ($i < $num) {
            $id_localidad = mysql_result($lista_localidades, $i, "idLocalidad");
            $nombre_localidad = utf8_encode(mysql_result($lista_localidades, $i, "nombre"));
            $localidad2 = reemplaza($nombre_localidad);
            if ($nombre_localidad == $nombre || $localidad2 == $nombre) {
                return $id_localidad;
            }
            $i++;
        }
    } else
        echo 'lista localidad vacia';
}

function get_area($nombre) {
    global $lista_areas_bumeran;
    $num = count($lista_areas_bumeran);
    if ($lista_areas_bumeran != null) {
        for ($i = 0; $i < $num; $i++) {
            $area2 = reemplaza($lista_areas_bumeran[$i][1]);
            //echo 'area 1 '.$lista_areas[$i][1].' area 2 '.$area2.' busca '.$nombre.'<br/>';
            if ($lista_areas_bumeran[$i][1] == $nombre || $area2 == $nombre) {
                //  echo 'area 1 '.$lista_areas[$i][1].' area 2 '.$area2.' busca '.$nombre.'<br/>';
                return $lista_areas_bumeran[$i][0];
                break;
            }
        }
    } else
        echo 'lista localidad vacia';
}

function get_area_aptitus($nombre) {
    global $lista_areas_aptitus;
    $num = count($lista_areas_aptitus);
    if ($lista_areas_aptitus != null) {
        for ($i = 0; $i < $num; $i++) {
            $area2 = reemplaza($lista_areas_aptitus[$i][1]);
            //echo 'area 1 '.$lista_areas[$i][1].' area 2 '.$area2.' busca '.$nombre.'<br/>';
            if ($lista_areas_aptitus[$i][1] == $nombre || $area2 == $nombre) {
                //  echo 'area 1 '.$lista_areas[$i][1].' area 2 '.$area2.' busca '.$nombre.'<br/>';
                return $lista_areas_aptitus[$i][0];
                break;
            }
        }
    } else
        echo 'lista localidad vacia';
}


//function get_nivel($nombre) {
//    global $lista_nivel;
//
//    if ($lista_nivel != null) {
//        $num = mysql_numrows($lista_nivel);
//        $i = 0;
//        while ($i < $num) {
//            $id_nivel = mysql_result($lista_nivel, $i, "idLocalidad");
//            $nombre_nivel = mysql_result($lista_nivel, $i, "nombre");
//            $nivel2 = reemplaza($lista_nivel);
//            if ($nombre_nivel == $nombre || $nivel2 == $nombre) {
//                return $id_localidad;
//            }
//            $i++;
//        }
//    } else
//        echo 'lista localidad vacia';
//}

function get_tipo($nombre) {
    global $lista_tipo;
    if ($lista_tipo != null) {
        if ($nombre == 'Full-time') {
            $nombre = 'Tiempo Completo';
        } else if ($nombre == 'Part-time') {
            $nombre = 'Medio Tiempo';
        } else if ($nombre == 'Temporario') {
            $nombre = 'Temporal';
        } else if ($nombre == 'Pasantia') {
            $nombre = 'Prácticas';
        } else if ($nombre == 'Teletrabajo') {
            $nombre = 'Desde Casa';
        } else if ($nombre == 'Por Contrato') {
            $nombre = 'Tiempo Completo';
        } else if ($nombre == 'Voluntario') {
            $nombre = 'Tiempo Completo';
        }
        $num = mysql_numrows($lista_tipo);
        $i = 0;
        while ($i < $num) {
            $id_tipo = mysql_result($lista_tipo, $i, "idtipo_trabajo");
            $nombre_tipo = mysql_result($lista_tipo, $i, "nombre");
            if ($nombre_tipo == $nombre) {
                return $id_tipo;
            }
            $i++;
        }
    } else
        echo 'lista tipo vacia';
}

$lista_localidades;
$lista_tipo;
$lista_areas_bumeran = obtener_areas();
$lista_areas_aptitus = obtener_areas_aptitus();
$lista_areas_cp;
$cantidad = $_POST['cantidad'];
//$lista_nivel;
$url = '';
switch ($_POST['paginah']) {
    case 1:
        $url = '';
        break;
    case 2:
        $url = 'http://aptitus.clasificados.pe';
        break;
    case 3:
        $url = 'www.computrabajo.com.pe';
        break;
}

$query0 = "select * from localidad";
$resultado0 = mysql_query($query0);
if ($resultado0) {
    $lista_localidades = $resultado0;
}

$query00 = "select * from tipo_trabajo";
$resultado00 = mysql_query($query00);
if ($resultado00) {
    $lista_tipo = $resultado00;
}


if (isset($_POST['query'])) {
    $query = $_POST['query'];
    echo $query . '<br/>';
    $result = mysql_query($query);
//    $num = mysql_numrows($result);
    $i = 0;

    $insert = "insert into anuncioempleo (`idEmpresa`, `tituloAnuncioEmpleo`, `idRegion`, `idTipoEmpleo`, 
        `idNivelPuesto`, `descripcionAnuncioEmpleo`, `fechaPublicacion`,`lugarEmpleo`, 
        `salarioDescripcionMostrar`, `idSalario`, `modoPostulacion`, `nombrePersonaContacto`, 
        `telefono`, `urlCorreo`, `nombreEmpresaMostrado`, `estado`, `fechaReal`, `idArea`) values ";
    $update = "update anuncio_preview set copiado = 'S' where idanuncio_preview in (";
    while ($i < $cantidad) {
        $idanuncio_preview = mysql_result($result, $i, "idanuncio_preview");
        $url_anuncio = mysql_result($result, $i, "url");
        $fecha_publicacion = mysql_result($result, $i, "fecha_publicacion");
        $localidad = mysql_result($result, $i, "idlocalidad");
        $nombre_anuncio = mysql_result($result, $i, "titulo");
        $empresa = mysql_result($result, $i, "nombre_empresa");
        $tipo = mysql_result($result, $i, "idtipo_trabajo");
        $area_cp = mysql_result($result, $i, "area");        
        switch ($_POST['paginah']) {
            case 1:
                $url = 'http://';
                $url.= $url_anuncio;
                echo $url . '<br/>';
                $html = file_get_html($url);
                $datos = $html->find('table.aviso-resumen-datos tr td');
                $sb = $datos[2]->plaintext;
                $sb = utf8_decode(trim(substr($sb, 0, strpos($sb, '('))));
                $area = get_area($sb);
                $descripcion0 = $html->find('div[id=contenido_aviso]');
                //echo $descripcion0[0]->innertext;
                $descripcion = utf8_decode($descripcion0[0]->innertext);
                $insert .= "('1','$nombre_anuncio', '$localidad', '$tipo','1','$descripcion',now(),'','','1','','','','','$empresa','1','$fecha_publicacion','$area')";
                $update .= "'$idanuncio_preview'";

                break;
            case 2:
                $url = 'http://aptitus.clasificados.pe';
                $url.= $url_anuncio;
                echo $url . '<br/>';
                $html = file_get_html($url);
                $funciones = $html->find('.txtPostsH3');
                $descripcion;
                foreach ($funciones as $fun) {
                    $descripcion = utf8_decode($fun->innertext);
                }
                $requisitos = $html->find('ul.listPosts li');
                if (isset($requisitos)) {
                    $n = count($requisitos);
                    if (isset($requisitos[$n - 1]->plaintext)) {
                        if (stristr($requisitos[$n - 1]->plaintext, 'Sueldo')) {
                            $sueldo = $requisitos[$n - 1]->plaintext;
                            if ($n > 1) {//si habia mas de un requisito entonces:
                                //echo '<H1>REQUISITOS</H1>';
                                for ($i = 0; $i < $n - 1; $i++) {
                                    //echo $requisitos[$i]->plaintext . '<br>';
                                    $descripcion .= $requisitos[$i]->plaintext;
                                }
                            }
                            //echo '<H1>SUELDO</H1>' . $sueldo . '<br>';
                        }
                    }
                }
                if(!isset($sueldo))
                    $sueldo = '';
                $otros = $html->find('div.legend a');                
//                echo "AREA: ".$otros[1]->plaintext.'<br>';
//                echo "NIVEL DEL PUESTO: ".$otros[1]->plaintext.'<br>';
                $area = get_area_aptitus($otros[1]->plaintext);
                $nivel = $otros[1]->plaintext;
                $insert .= "('1','$nombre_anuncio', '$localidad', '$tipo','1','$descripcion',now(),'','$sueldo','1','','','','','$empresa','1','$fecha_publicacion','$area')";
                $update .= "'$idanuncio_preview'";

                break;
            case 3:
                $url = 'http://www.computrabajo.com.pe/';
                $url.= $url_anuncio;
                echo $url . '<br/>';
                $html = file_get_html($url);
                $filas = $html->find('table[!border] td');
                $descripcion = utf8_decode($filas[5]->plaintext);
                $fecha_publicacion_cp = $filas[8]->plaintext;
                $localidad_cp = get_localidad(utf8_decode($filas[12]->plaintext));
                $sueldo = $filas[14]->plaintext;
                echo 'area cp '.$sueldo.'<br/>';
                $tipo_cp = get_tipo(utf8_decode($filas[20]->plaintext));
                $insert .= "('1','$nombre_anuncio', '$localidad_cp', '$tipo_cp','1','$descripcion',now(),'','$sueldo','1','','','','','$empresa','1',now(),'$area_cp')";
                $update .= "'$idanuncio_preview'";
                break;
        }

        if ($i + 1 == $cantidad) {
            $insert .=";";
            $update .=");";
        } else {
            $insert .=",";
            $update .=",";
        }

        $i++;
    }
//    echo $insert.'<br/>';
//    echo $update.'<br/>';
    echo registro_anuncios($insert);
    echo actualizar_preview($update);
}
?>
